::设置地址
set /a startAddr=0x00020000

::生成bin文件
set /a offsetAddr=-%startAddr%
echo startAddr is: %startAddr%
srec_cat.exe Output\Q2026_MCU_APP.hex -intel -offset %offsetAddr% -o ..\..\07_bin\Q2026_MCU_APP.bin -binary

::获取bin文件大小
set para1=%~1
set arg="..\..\07_bin\Q2026_MCU_APP.bin"
FOR %%A IN (%arg%) DO set binSize=%%~zA
::字节为单位
echo binSize is: %binSize% 

::设置地址
set /a endAddr=%startAddr%+%binSize%
set /a crcAddr=%endAddr%
set /a CodeSizeAddr=%endAddr%+4;

echo endAddr is: %endAddr%
echo crcAddr is: %endAddr%
echo CodeSizeAddr is: %CodeSizeAddr%

::srec_cat.exe Output\Q2026_MCU_APP.hex -intel -crop  %startAddr% %endAddr% -fill 0xFF  %startAddr% %endAddr% -CRC32_Little_Endian %crcAddr% -o ..\..\07_bin\Q2026_MCU_APP_CRC.hex -intel

:: 对未使用的空间填充0xFF
:: ..\..\07_bin\Q2026_MCU_APP_FILL.hex -intel		：以hex方式读取output.hex文件。
:: -crop %startAddr% %endAddr%              		： 裁剪出 startAddr 到 endAddr  的空间（单位：字节）。
:: -fill 0xFF %startAddr% %endAddr%         		: 未使用的空间填充0xFF。
srec_cat.exe Output\Q2026_MCU_APP.hex -intel -crop %startAddr% %endAddr% -fill 0xFF %startAddr% %endAddr% -o ..\..\07_bin\Q2026_MCU_APP_FILL.hex -intel
::srec_cat.exe Output\Q2026_MCU_APP.hex -intel -fill 0xFF %startAddr% %endAddr% -o ..\..\07_bin\Q2026_MCU_APP_FILL.hex -intel

::计算CRC32校验
:: -CRC32_Little_Endian %crcAddr%			：计算CRC值，以小端格式存储到地址crcAddr 。
srec_cat.exe ..\..\07_bin\Q2026_MCU_APP_FILL.hex -intel -CRC32_Little_Endian %crcAddr% -o ..\..\07_bin\Q2026_MCU_APP_CRC.hex -intel

::计算HEX总长度length（code(nbyte)+crc(4byte)+length(4byte)）
srec_cat.exe ..\..\07_bin\Q2026_MCU_APP_CRC.hex -intel -Length_Little_Endian %CodeSizeAddr% -o ..\..\07_bin\Q2026_MCU_APP_SIZE.hex -intel

::生成bin文件
set /a offsetAddr=-%startAddr%
srec_cat.exe ..\..\07_bin\Q2026_MCU_APP_CRC.hex -intel -offset %offsetAddr% -o ..\..\07_bin\Q2026_MCU_APP_CRC.bin -binary

:: 在指定位置中添加标志信息
..\..\06_HexView\hexview.exe Output\Q2026_MCU_APP.hex /S /FR:0x6FC00,4 /FP:736A293E /XI:16 -o Output\Q2026_MCU_APP_PP_TMP.hex
..\..\06_HexView\hexview.exe Output\Q2026_MCU_APP_PP_TMP.hex /S /FR:0x6FE00,4 /FP:736A293E /XI:16 -o ..\..\07_bin\Q2026_MCU_APP_PP.hex
DEL Output\Q2026_MCU_APP_PP_TMP.hex

:: 复制代码到指定位置
copy Output\Q2026_MCU_APP.hex  ..\..\07_bin\Q2026_MCU_APP.hex

::pause